API 使用示例(Node & Py)
本章节展示如何在 Node.js(Express)与 Python(Flask)中实现 RESTful API 的五大核心方法:GET
、POST
、PUT
、PATCH
、DELETE
。
📦 GET 请求
- Node.js (Express)
- Python (Flask)
const express = require("express");
const app = express();
app.get("/users/:id", (req, res) => {
const userId = req.params.id;
res.json({ id: userId, name: "Alice" });
});
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/users/<int:user_id>', methods=['GET'])
def get_user(user_id):
return jsonify({ 'id': user_id, 'name': 'Alice' })
✍️ POST 请求
- Node.js
- Python
app.use(express.json());
app.post("/users", (req, res) => {
const newUser = req.body;
res.status(201).json(newUser);
});
from flask import request
@app.route('/users', methods=['POST'])
def create_user():
data = request.json
return jsonify(data), 201
🔄 PUT 请求(更新整个资源)
- Node.js
- Python
app.put("/users/:id", (req, res) => {
const id = req.params.id;
const updatedData = req.body;
res.json({ id, ...updatedData });
});
@app.route('/users/<int:user_id>', methods=['PUT'])
def update_user(user_id):
data = request.json
return jsonify({ 'id': user_id, **data })
🛠 PATCH 请求(局部更新)
- Node.js
- Python
app.patch("/users/:id", (req, res) => {
const id = req.params.id;
const patchData = req.body;
res.json({ id, ...patchData });
});
@app.route('/users/<int:user_id>', methods=['PATCH'])
def patch_user(user_id):
data = request.json
return jsonify({ 'id': user_id, **data })
🗑 DELETE 请求
- Node.js
- Python
app.delete("/users/:id", (req, res) => {
const id = req.params.id;
res.status(204).send();
});
@app.route('/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
return '', 204
🧪 使用 curl 调用测试
curl -X GET http://localhost:3000/users/1
curl -X POST -H "Content-Type: application/json" -d '{"name":"Bob"}' http://localhost:3000/users
📚 推荐扩展
- Express 官方文档:https://expressjs.com/
- Flask 官方文档:https://flask.palletsprojects.com/